/*
 * Created on 05/04/2010
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
package model.consultas;

import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.Date;

import org.apache.log4j.Logger;

import com.ibm.icu.util.Calendar;
import com.stefanini.pe.bbva.mbl.in.bo.iface.UtilBO;
import com.stefanini.pe.bbva.mbl.in.listeners.SpringInit;
import com.stefanini.pe.bbva.mbl.in.utils.Util;
import com.stefanini.pe.framework.common.StringUtil;

/**
 * @author dlazo
 *
 * TODO To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
public class CabeceraConsultaModel {
	UtilBO oUtilBO;
	
	private static Logger logger = Logger.getLogger(CabeceraConsultaModel.class);
	String lblError_Text = StringUtil.Empty;
	boolean booIDCabClienteRendered = false;
	boolean booIDCabGrupoRendered = false;
	private String strTipoDocumento = "";
	private String inNumeroDocumento = "";
	private String inNumeroCliente = "0";
	private String strSegmento = "";
	private String strGestorPrincipal = "";
	private String strOficinaPrincipal = "";
	private String strTelefono = "";
	private String strNombreCliente = "";
	private int inNumeroGrupo = 0;
	private String strNombreGrupo = "";
	private String filtro = "";
	String idArea = "";
	String idDivisa = "";
	String familia = "";
	String producto = "";
	String monto = "";
	String grupo = "";
	String cliente = "";
	String saldo = "";
	String codCliente = "";
	BigDecimal idRiesgoDirecto = null;
	BigDecimal idRiesgoIndirecto = null;
	BigDecimal idMercados = null;
	BigDecimal idRecursos = null;
	BigDecimal idGarantias = null;
	BigDecimal idFamilia = null;
	BigDecimal idProducto = null;
	BigDecimal idProductoEsp = null;
	BigDecimal idGrupoEcono = null;
	BigDecimal idOtrosProductos = null;
	String contrato = null;
	String numero_contrato=null;
	int indicadorRetroceso = 0;
	int indicadorRetroFamilia = 0; //1 - nivelCliente, 2 - nivelGrupo
	String fechaActual;
	Date dFechaHoraActual = new Date(); 
	int difSegundos=0;
	
	public CabeceraConsultaModel(){		
		reset();
		this.oUtilBO = (UtilBO)SpringInit.getApplicationContext().getBean("utilService");
		dFechaHoraActual=this.oUtilBO.obtenerFechaBD();
		Calendar oCal = Calendar.getInstance();
		oCal.setTime(dFechaHoraActual);
		difSegundos = oCal.fieldDifference(new Date(), Calendar.SECOND);
	}
	
	
	public void reset(){
		lblError_Text = StringUtil.Empty;
		idArea = "";
		idDivisa = "";
		familia = "";
		monto = "";
		grupo = "";
		cliente = "";
		saldo = "";
	}
	
	/**
	 * @return Returns the contrato.
	 */
	public String getContrato() {
		return contrato;
	}
	/**
	 * @param contrato The contrato to set.
	 */
	public void setContrato(String contrato) {
		this.contrato = contrato;
	}
	/**
	 * @return Returns the booIDCabClienteRendered.
	 */
	public boolean isBooIDCabClienteRendered() {
		return booIDCabClienteRendered;
	}
	/**
	 * @param booIDCabClienteRendered The booIDCabClienteRendered to set.
	 */
	public void setBooIDCabClienteRendered(boolean booIDCabClienteRendered) {
		this.booIDCabClienteRendered = booIDCabClienteRendered;
		System.out.println("booIDCabClienteRendered" + booIDCabClienteRendered);
	}
	/**
	 * @return Returns the booIDCabGrupoRendered.
	 */
	public boolean isBooIDCabGrupoRendered() {
		return booIDCabGrupoRendered;
	}
	/**
	 * @param booIDCabGrupoRendered The booIDCabGrupoRendered to set.
	 */
	public void setBooIDCabGrupoRendered(boolean booIDCabGrupoRendered) {
		this.booIDCabGrupoRendered = booIDCabGrupoRendered;
		System.out.println("booIDCabGrupoRendered" + booIDCabGrupoRendered);
	}
	/**
	 * @return Returns the inNumeroCliente.
	 */
	public String getInNumeroCliente() {
		return inNumeroCliente;
	}
	/**
	 * @param inNumeroCliente The inNumeroCliente to set.
	 */
	public void setInNumeroCliente(String inNumeroCliente) {
		this.inNumeroCliente = inNumeroCliente;
	}
	/**
	 * @return Returns the inNumeroDocumento.
	 */
	public String getInNumeroDocumento() {
		return inNumeroDocumento;
	}
	/**
	 * @param inNumeroDocumento The inNumeroDocumento to set.
	 */
	public void setInNumeroDocumento(String inNumeroDocumento) {
		this.inNumeroDocumento = inNumeroDocumento;
	}
	/**
	 * @return Returns the inNumeroGrupo.
	 */
	public int getInNumeroGrupo() {
		return inNumeroGrupo;
	}
	/**
	 * @param inNumeroGrupo The inNumeroGrupo to set.
	 */
	public void setInNumeroGrupo(int inNumeroGrupo) {
		this.inNumeroGrupo = inNumeroGrupo;
	}
	/**
	 * @return Returns the lblError_Text.
	 */
	public String getLblError_Text() {
		return lblError_Text;
	}
	/**
	 * @param lblError_Text The lblError_Text to set.
	 */
	public void setLblError_Text(String lblError_Text) {
		this.lblError_Text = lblError_Text;
	}
	/**
	 * @return Returns the strGestorPrincipal.
	 */
	public String getStrGestorPrincipal() {
		return strGestorPrincipal;
	}
	/**
	 * @param strGestorPrincipal The strGestorPrincipal to set.
	 */
	public void setStrGestorPrincipal(String strGestorPrincipal) {
		this.strGestorPrincipal = strGestorPrincipal;
	}
	/**
	 * @return Returns the strNombreCliente.
	 */
	public String getStrNombreCliente() {
		return strNombreCliente;
	}
	/**
	 * @param strNombreCliente The strNombreCliente to set.
	 */
	public void setStrNombreCliente(String strNombreCliente) {
		this.strNombreCliente = strNombreCliente;
	}
	/**
	 * @return Returns the strNombreGrupo.
	 */
	public String getStrNombreGrupo() {
		return strNombreGrupo;
	}
	/**
	 * @param strNombreGrupo The strNombreGrupo to set.
	 */
	public void setStrNombreGrupo(String strNombreGrupo) {
		this.strNombreGrupo = strNombreGrupo;
	}
	/**
	 * @return Returns the strOficinaPrincipal.
	 */
	public String getStrOficinaPrincipal() {
		return strOficinaPrincipal;
	}
	/**
	 * @param strOficinaPrincipal The strOficinaPrincipal to set.
	 */
	public void setStrOficinaPrincipal(String strOficinaPrincipal) {
		this.strOficinaPrincipal = strOficinaPrincipal;
	}
	/**
	 * @return Returns the strSegmento.
	 */
	public String getStrSegmento() {
		return strSegmento;
	}
	/**
	 * @param strSegmento The strSegmento to set.
	 */
	public void setStrSegmento(String strSegmento) {
		this.strSegmento = strSegmento;
	}
	/**
	 * @return Returns the strTelefono.
	 */
	public String getStrTelefono() {
		return strTelefono;
	}
	/**
	 * @param strTelefono The strTelefono to set.
	 */
	public void setStrTelefono(String strTelefono) {
		this.strTelefono = strTelefono;
	}
	/**
	 * @return Returns the strTipoDocumento.
	 */
	public String getStrTipoDocumento() {
		return strTipoDocumento;
	}
	/**
	 * @param strTipoDocumento The strTipoDocumento to set.
	 */
	public void setStrTipoDocumento(String strTipoDocumento) {
		this.strTipoDocumento = strTipoDocumento;
	}
	/**
	 * @return Returns the cliente.
	 */
	public String getCliente() {
		return cliente;
	}
	/**
	 * @param cliente The cliente to set.
	 */
	public void setCliente(String cliente) {
		this.cliente = cliente;
	}
	/**
	 * @return Returns the familia.
	 */
	public String getFamilia() {
		return familia;
	}
	/**
	 * @param familia The familia to set.
	 */
	public void setFamilia(String familia) {
		this.familia = familia;
	}
	/**
	 * @return Returns the grupo.
	 */
	public String getGrupo() {
		return grupo;
	}
	/**
	 * @param grupo The grupo to set.
	 */
	public void setGrupo(String grupo) {
		this.grupo = grupo;
	}
	/**
	 * @return Returns the idArea.
	 */
	public String getIdArea() {
		return idArea;
	}
	/**
	 * @param idArea The idArea to set.
	 */
	public void setIdArea(String idArea) {
		this.idArea = idArea;
	}
	/**
	 * @return Returns the idDivisa.
	 */
	public String getIdDivisa() {
		return idDivisa;
	}
	/**
	 * @param idDivisa The idDivisa to set.
	 */
	public void setIdDivisa(String idDivisa) {
		this.idDivisa = idDivisa;
	}
	/**
	 * @return Returns the monto.
	 */
	public String getMonto() {
		return monto;
	}
	/**
	 * @param monto The monto to set.
	 */
	public void setMonto(String monto) {
		this.monto = monto;
	}
	/**
	 * @return Returns the saldo.
	 */
	public String getSaldo() {
		return saldo;
	}
	/**
	 * @param saldo The saldo to set.
	 */
	public void setSaldo(String saldo) {
		this.saldo = saldo;
	}
	/**
	 * @return Devuelve idGarantias.
	 */
	public BigDecimal getIdGarantias() {
		return idGarantias;
	}
	/**
	 * @param idGarantias El idGarantias a establecer.
	 */
	public void setIdGarantias(BigDecimal idGarantias) {
		this.idGarantias = idGarantias;
	}
	/**
	 * @return Devuelve idMercados.
	 */
	public BigDecimal getIdMercados() {
		return idMercados;
	}
	/**
	 * @param idMercados El idMercados a establecer.
	 */
	public void setIdMercados(BigDecimal idMercados) {
		this.idMercados = idMercados;
	}
	/**
	 * @return Devuelve idrecursos.
	 */
	public BigDecimal getIdRecursos() {
		return idRecursos;
	}
	/**
	 * @param idrecursos El idrecursos a establecer.
	 */
	public void setIdRecursos(BigDecimal idRecursos) {
		this.idRecursos = idRecursos;
	}
	/**
	 * @return Devuelve idRiesgoDirecto.
	 */
	public BigDecimal getIdRiesgoDirecto() {
		return idRiesgoDirecto;
	}
	/**
	 * @param idRiesgoDirecto El idRiesgoDirecto a establecer.
	 */
	public void setIdRiesgoDirecto(BigDecimal idRiesgoDirecto) {
		this.idRiesgoDirecto = idRiesgoDirecto;
	}
	/**
	 * @return Devuelve idRiesgoIndirecto.
	 */
	public BigDecimal getIdRiesgoIndirecto() {
		return idRiesgoIndirecto;
	}
	/**
	 * @param idRiesgoIndirecto El idRiesgoIndirecto a establecer.
	 */
	public void setIdRiesgoIndirecto(BigDecimal idRiesgoIndirecto) {
		this.idRiesgoIndirecto = idRiesgoIndirecto;
	}
	/**
	 * @return Devuelve idFamilia.
	 */
	public BigDecimal getIdFamilia() {
		return idFamilia;
	}
	/**
	 * @param idFamilia El idFamilia a establecer.
	 */
	public void setIdFamilia(BigDecimal idFamilia) {
		this.idFamilia = idFamilia;
	}
	/**
	 * @return Returns the idProducto.
	 */
	public BigDecimal getIdProducto() {
		return idProducto;
	}
	/**
	 * @param idProducto The idProducto to set.
	 */
	public void setIdProducto(BigDecimal idProducto) {
		this.idProducto = idProducto;
	}
	/**
	 * @return Returns the producto.
	 */
	public String getProducto() {
		return producto;
	}
	/**
	 * @param producto The producto to set.
	 */
	public void setProducto(String producto) {
		this.producto = producto;
	}
	/**
	 * @return Returns the codCliente.
	 */
	public String getCodCliente() {
		return codCliente;
	}
	/**
	 * @param codCliente The codCliente to set.
	 */
	public void setCodCliente(String codCliente) {
		this.codCliente = codCliente;
	}
	/**
	 * @return Returns the indicadorRetroceso.
	 */
	public int getIndicadorRetroceso() {
		return indicadorRetroceso;
	}
	/**
	 * @param indicadorRetroceso The indicadorRetroceso to set.
	 */
	public void setIndicadorRetroceso(int indicadorRetroceso) {
		this.indicadorRetroceso = indicadorRetroceso;
	}
	/**
	 * @return Returns the indicadorRetroFamilia.
	 */
	public int getIndicadorRetroFamilia() {
		return indicadorRetroFamilia;
	}
	/**
	 * @param indicadorRetroFamilia The indicadorRetroFamilia to set.
	 */
	public void setIndicadorRetroFamilia(int indicadorRetroFamilia) {
		this.indicadorRetroFamilia = indicadorRetroFamilia;
	}

	public BigDecimal getIdProductoEsp() {
		return idProductoEsp;
	}

	public void setIdProductoEsp(BigDecimal idProductoEsp) {
		this.idProductoEsp = idProductoEsp;
	}

	public BigDecimal getIdGrupoEcono() {
		return idGrupoEcono;
	}

	public void setIdGrupoEcono(BigDecimal idGrupoEcono) {
		this.idGrupoEcono = idGrupoEcono;
	}

	public BigDecimal getIdOtrosProductos() {
		return idOtrosProductos;
	}

	public void setIdOtrosProductos(BigDecimal idOtrosProductos) {
		this.idOtrosProductos = idOtrosProductos;
	}

	public String getNumero_contrato() {
		return Util.formatCuenta(contrato,4);
	}

	public void setNumero_contrato(String numero_contrato) {
		this.numero_contrato = numero_contrato;
	}

	public String getFechaActual() {
		/*
		Calendar oCalendar = Calendar.getInstance();
		oCalendar.setTime(new Date()); //dFechaHoraActual
		oCalendar.add(Calendar.SECOND, difSegundos);
		dFechaHoraActual = oCalendar.getTime();
		return new SimpleDateFormat("hh:mm:ss aa").format(dFechaHoraActual); 
		*/
		this.oUtilBO = (UtilBO)SpringInit.getApplicationContext().getBean("utilService");
		dFechaHoraActual=this.oUtilBO.obtenerFechaBD();
		return new SimpleDateFormat("hh:mm aa").format(dFechaHoraActual); // new Date()
	}

	public void setFechaActual(String fechaActual) {
		this.fechaActual = fechaActual;
	}

	public String getFiltro() {
		return filtro;
	}

	public void setFiltro(String filtro) {
		this.filtro = filtro;
	}
	
	
}
